Concurrent Contracts for Java
نویسندگان
چکیده
1 Concurrent Contracts for Java Wladimir Araujo, Lionel C. Briand, Yvan Labiche 1 Juniper Networks 700 Silver Seven Road Ottawa, ON, K2V 1C3, Canada [email protected] 2 Simula Research Laboratory and University of Oslo P.O. Box 134, Lysaker 1325 Norway [email protected] 3 Software Quality Eng. Lab. Dept. of Systems and Computer Eng. Carleton University 1125 Colonel By Drive Ottawa, ON, K1S 5B6, Canada [email protected]
منابع مشابه
On the Effectiveness of Contracts as Test Oracles in the Detection and Diagnosis of Faults in Concurrent Object- Oriented Software
Design by Contract (DbC) is a software development methodology that focuses on clearly defining the interfaces between components to produce better quality object-oriented software. The idea behind DbC is that a method defines a contract stating the requirements a client needs to fulfill to use it, the precondition, and the properties it ensures after its execution, the postcondition. Though th...
متن کاملAdding Concurrency to Smart Contracts
Modern cryptocurrency systems, such as Ethereum, permit complex financial transactions through scripts called smart contracts. These smart contracts are executed many, many times, always without real concurrency. First, all smart contracts are serially executed by miners before appending them to the blockchain. Later, those contracts are serially re-executed by validators to verify that the sma...
متن کاملSeparation Logic Contracts for a Java-Like Language with Fork/Join
We adapt a variant of permission-accounting separation logic to a concurrent Java-like language with fork/join. To support both concurrent reads and information hiding, we combine fractional permissions with abstract predicates. As an example, we present a separation logic contract for iterators that prevents data races and concurrent modifications. Our program logic is presented in an algorith...
متن کاملResource Usage Protocols for Iterators
We discuss usage protocols for iterator objects that prevent concurrent modifications of the underlying collection while iterators are in progress. We formalize these protocols in Java-like object interfaces, enriched with separation logic contracts. We present examples of iterator clients and proofs that they adhere to the iterator protocol, as well as examples of iterator implementations and ...
متن کاملDISSERTATION XGuide - Concurrent Web Development with Contracts
In this dissertation we propose the XGuide Web development method. XGuide focuses on the timely development of Web applications while guaranteeing high-quality designs and reusable implementation artifacts. It supports the whole life-cycle of a Web application and covers the analysis, design, implementation and maintenance phases. The central idea in XGuide is to bring the well-established soft...
متن کامل